#include <vector>
#include <String>
#include <QObject>

class DIVA_VMStub;
class ExploreBotDialogStub;

class ExploreBot
{

public:
	ExploreBot(std::string botName, DIVA_VMStub* startVM,int level,int num, std::vector<std::string> selectRef);
	ExploreBot(std::string botName, std::string startVMname,int level,int num,std::vector<std::string> selectRef,bool save);
	~ExploreBot();
	bool doExplor();
	std::string getVarname();
	std::string getName();
	std::string getMaxLevelString();
	std::string getMaxNumString();
	void setMaxLevelString(std::string );
	void setMaxNumString(std::string );
	int getLevel();
	int getNum();
	void setExAllref(bool i);
	std::vector<std::string> getRefs();
	bool getStats();
	void setDialog(ExploreBotDialogStub* ui);
	ExploreBotDialogStub* getDialog();
	bool saved();
	void setSaved(bool i);
	bool getTrigger();
	void setTrigger(bool i);
	std::vector<std::string> getSelectRef();
	std::string getMessage();



private:
	void d_expand(DIVA_VMStub* vm,int nc,int lc);
	void pickUpAllVMs();
	bool checkExplorRef(std::string refName);
	DIVA_VMStub* _startVM;
	std::string _startVMname;
	std::string _botName;
	std::string _maxLS;
	std::string _maxNS;
	std::string _message;
	bool _byVM;
	int _maxLevel;
	int _maxNum;
	bool _exallRef;
	bool _Success;
	bool _save;
	bool _isTrigger;
	ExploreBotDialogStub* _ui;
	std::vector<std::string> _selectRef;

};